#ifndef CORRIO_H
#define CORRIO_H

#include "BinData2.h"
#include "Form.h"
#include "MemDebug.h"

void WriteEE(std::ostream& fout, double minsep, double binsize, double smoothscale,
             const std::vector<BinData2<EData,EData> >& data);

void WriteM2(std::ostream& fout, double minsep, double binsize,
             const std::vector<BinData2<EData,EData> >& data);

void WriteNorm(std::ostream& fout, double minsep, double binsize, double smoothscale,
               const std::vector<BinData2<NData,EData> >& crossdata,
               const std::vector<BinData2<EData,EData> >& twoptdata,
               const std::vector<BinData2<NData,NData> >& dd, const std::vector<BinData2<1,1> >& dr,
               const std::vector<BinData2<NData,NData> >& rr);

void WriteNE(std::ostream& fout, double minsep, double binsize, double smoothscale,
             const std::vector<BinData2<NData,EData> >& crossdata);

void WriteNN(std::ostream& fout, double minsep, double binsize,
             const std::vector<BinData2<NData,NData> >& dd, const std::vector<BinData2<1,1> >& dr, 
             const std::vector<BinData2<NData,NData> >& rr, double nrr);

#endif
